//package com.bluebuck.report.common.core.repository.condition;
//
//import org.apache.ibatis.annotations.Mapper;
//import org.apache.ibatis.annotations.Param;
//
//import java.util.List;
//
//
///**
// * @author geney
// */
//@Mapper
//public interface GenericMapper<TC, T> {
//    /**
//     * count By Condition
//     *
//     * @param example
//     * @return
//     */
//    long countByCondition(TC example);
//
//    /**
//     * delete By Condition
//     *
//     * @param example
//     * @return
//     */
//    int deleteByCondition(TC example);
//
//    /**
//     * delete By Id
//     *
//     * @param id
//     * @return
//     */
//    int deleteById(Long id);
//
//    /**
//     * insert Selective
//     *
//     * @param record
//     * @return
//     */
//    int insertSelective(T record);
//
//    /**
//     * select By Condition
//     *
//     * @param example
//     * @return
//     */
//    List<T> selectByCondition(TC example);
//
//    /**
//     * select By Id
//     *
//     * @param id
//     * @return
//     */
//    T selectById(Long id);
//
//    /**
//     * update By Condition Selective
//     *
//     * @param record
//     * @param example
//     * @return
//     */
//    int updateByConditionSelective(@Param("record") T record, @Param("example") TC example);
//
//    /**
//     * update By Id Selective
//     *
//     * @param record
//     * @return
//     */
//    int updateByIdSelective(T record);
//    /**
//     * insert Batch Selective
//     *
//     * @param records
//     * @return
//     */
//    int insertBatchSelective(List<T> records);
//
//    /**
//     * insert Selective ignore
//     *
//     * @param record
//     * @return
//     */
//    int insertIgnoreSelective(T record);
//
//}